package finc_single_num;

public class FindSingleNum {
    public static void main(String[] args) {
        /*
        查找集合中唯一一个不成对的数,
        利用异或的两个特性：
        1.相同的数异或结果为0， x^x=0
        2.0和任何数异或还是它自己  x^0= x
        3. x ^ y = z,则  x ^ z = y , y ^ z = x
         */
        int[] nums = new int[]{1,2,3,1,2,3,4};
        int x=0;
        for (int num : nums) {
            x ^= num;
        }
        System.out.println(x);
    }

    /*
    与操作：
     */

}
